import os

def generate_missing_txt_files(image_folder, label_folder):
    # 如果标签文件夹不存在，则创建
    if not os.path.exists(label_folder):
        os.makedirs(label_folder)

    # 遍历图片文件夹中的所有文件
    for filename in os.listdir(image_folder):
        # 检查文件是否是.jpg文件
        if filename.endswith(".jpg"):
            # 获取文件名（不包含扩展名）
            file_name_without_ext = os.path.splitext(filename)[0]
            # 构建对应的txt标签文件路径
            txt_file_path = os.path.join(label_folder, f"{file_name_without_ext}.txt")

            # 如果该txt文件不存在，则创建一个空白的txt文件
            if not os.path.exists(txt_file_path):
                with open(txt_file_path, 'w') as f:
                    pass  # 创建空文件
                print(f"创建空白标签文件: {txt_file_path}")
            else:
                print(f"已存在标签文件，跳过: {txt_file_path}")

    print(f"处理完成：确保 {image_folder} 中的所有 .jpg 文件在 {label_folder} 中都有对应的标签文件。")

# 示例用法
image_folder = "datasets/rcs_open/images/val"  # 替换为实际的图片文件夹路径
label_folder = "datasets/rcs_open/labels/val"  # 替换为存放txt标签文件的文件夹路径
generate_missing_txt_files(image_folder, label_folder)
